/*
 * 版权所有 (C) 2015 知启蒙(ZHIQIM) 保留所有权利。[欢迎加盟知启蒙，一起邂逅框架梦]
 * 
 * https://www.zhiqim.com/gitcan/zhiqim/zhiqim_account.htm
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.zhiqim.account.dbo.user;

import java.io.Serializable;
import java.sql.Timestamp;

import org.zhiqim.kernel.annotation.AnAlias;
import org.zhiqim.kernel.annotation.AnNew;
import org.zhiqim.kernel.json.Jsons;
import org.zhiqim.orm.annotation.*;

/**
 * 用户信息表 对应表《USER_INFO》
 */
@AnAlias("UserInfo")
@AnNew
@AnTable(table="USER_INFO", key="USER_ID", type="InnoDB")
public class UserInfo implements Serializable
{
    private static final long serialVersionUID = 1L;

    @AnTableField(column="USER_ID", type="long", notNull=true)    private long userId;    //1.用户编号，默认13位长整型
    @AnTableField(column="USER_NICK", type="string,32", notNull=true)    private String userNick;    //2.用户昵称，默认等于用户编号，系统内唯一
    @AnTableField(column="USER_STATUS", type="byte", notNull=true)    private int userStatus;    //3.用户状态，0：未验证，1：正常，2：停用
    @AnTableField(column="USER_BALANCE", type="long", notNull=true)    private long userBalance;    //4.用户余额，分
    @AnTableField(column="USER_SEX", type="byte", notNull=true)    private int userSex;    //5.用户性别，0：保密，1：男，2：女
    @AnTableField(column="USER_REGISTERED", type="short", notNull=true)    private int userRegistered;    //6.用户注册来源，同互联类型
    @AnTableField(column="USER_CREATED", type="datetime", notNull=true)    private Timestamp userCreated;    //7.用户注册时间
    @AnTableField(column="USER_MODIFIED", type="datetime", notNull=true)    private Timestamp userModified;    //8.用户更新时间
    @AnTableField(column="USER_LOGINED", type="datetime", notNull=true)    private Timestamp userLogined;    //9.用户最后登录时间
    @AnTableField(column="USER_PASS", type="string,64", notNull=false)    private String userPass;    //10.用户密码
    @AnTableField(column="USER_PASS_SALT", type="string,64", notNull=false)    private String userPassSalt;    //11.用户密码盐值
    @AnTableField(column="USER_NAME", type="string,20", notNull=false)    private String userName;    //12.用户名，默认等于用户编号，系统内唯一
    @AnTableField(column="USER_MOBILE", type="string,11", notNull=false)    private String userMobile;    //13.用户手机，一个手机最多绑定5个用户
    @AnTableField(column="USER_EMAIL", type="string,50", notNull=false)    private String userEmail;    //14.用户邮箱，一个邮箱最多绑定5个账号
    @AnTableField(column="USER_AVATAR_50", type="string,200", notNull=false)    private String userAvatar50;    //15.用户头像
    @AnTableField(column="USER_AVATAR_100", type="string,200", notNull=false)    private String userAvatar100;    //16.用户头像
    @AnTableField(column="USER_AVATAR_150", type="string,200", notNull=false)    private String userAvatar150;    //17.用户头像
    @AnTableField(column="USER_PAYMENT", type="string,32", notNull=false)    private String userPayment;    //18.用户默认支付方式
    @AnTableField(column="CERT_STATUS", type="int", notNull=false)    private int certStatus;    //19.认证状态，0：未认证，1：已认证
    @AnTableField(column="CERT_NAME", type="string,32", notNull=false)    private String certName;    //20.真实姓名
    @AnTableField(column="CERT_NO", type="string,18", notNull=false)    private String certNo;    //21.身份证号
    @AnTableField(column="EP_CERT_TYPE", type="string,32", notNull=false)    private String epCertType;    //22.企业认证类型，NATIONAL_LEGAL：工商注册号，NATIONAL_LEGAL_MERGE：社会统一信用代码
    @AnTableField(column="EP_CERT_NAME", type="string,32", notNull=false)    private String epCertName;    //23.企业名称
    @AnTableField(column="EP_CERT_NO", type="string,32", notNull=false)    private String epCertNo;    //24.企业证件号

    public String toString()
    {
        return Jsons.toString(this);
    }

    public long getUserId()
    {
        return userId;
    }

    public void setUserId(long userId)
    {
        this.userId = userId;
    }

    public String getUserNick()
    {
        return userNick;
    }

    public void setUserNick(String userNick)
    {
        this.userNick = userNick;
    }

    public int getUserStatus()
    {
        return userStatus;
    }

    public void setUserStatus(int userStatus)
    {
        this.userStatus = userStatus;
    }

    public long getUserBalance()
    {
        return userBalance;
    }

    public void setUserBalance(long userBalance)
    {
        this.userBalance = userBalance;
    }

    public int getUserSex()
    {
        return userSex;
    }

    public void setUserSex(int userSex)
    {
        this.userSex = userSex;
    }

    public int getUserRegistered()
    {
        return userRegistered;
    }

    public void setUserRegistered(int userRegistered)
    {
        this.userRegistered = userRegistered;
    }

    public Timestamp getUserCreated()
    {
        return userCreated;
    }

    public void setUserCreated(Timestamp userCreated)
    {
        this.userCreated = userCreated;
    }

    public Timestamp getUserModified()
    {
        return userModified;
    }

    public void setUserModified(Timestamp userModified)
    {
        this.userModified = userModified;
    }

    public Timestamp getUserLogined()
    {
        return userLogined;
    }

    public void setUserLogined(Timestamp userLogined)
    {
        this.userLogined = userLogined;
    }

    public String getUserPass()
    {
        return userPass;
    }

    public void setUserPass(String userPass)
    {
        this.userPass = userPass;
    }

    public String getUserPassSalt()
    {
        return userPassSalt;
    }

    public void setUserPassSalt(String userPassSalt)
    {
        this.userPassSalt = userPassSalt;
    }

    public String getUserName()
    {
        return userName;
    }

    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserMobile()
    {
        return userMobile;
    }

    public void setUserMobile(String userMobile)
    {
        this.userMobile = userMobile;
    }

    public String getUserEmail()
    {
        return userEmail;
    }

    public void setUserEmail(String userEmail)
    {
        this.userEmail = userEmail;
    }

    public String getUserAvatar50()
    {
        return userAvatar50;
    }

    public void setUserAvatar50(String userAvatar50)
    {
        this.userAvatar50 = userAvatar50;
    }

    public String getUserAvatar100()
    {
        return userAvatar100;
    }

    public void setUserAvatar100(String userAvatar100)
    {
        this.userAvatar100 = userAvatar100;
    }

    public String getUserAvatar150()
    {
        return userAvatar150;
    }

    public void setUserAvatar150(String userAvatar150)
    {
        this.userAvatar150 = userAvatar150;
    }

    public String getUserPayment()
    {
        return userPayment;
    }

    public void setUserPayment(String userPayment)
    {
        this.userPayment = userPayment;
    }

    public int getCertStatus()
    {
        return certStatus;
    }

    public void setCertStatus(int certStatus)
    {
        this.certStatus = certStatus;
    }

    public String getCertName()
    {
        return certName;
    }

    public void setCertName(String certName)
    {
        this.certName = certName;
    }

    public String getCertNo()
    {
        return certNo;
    }

    public void setCertNo(String certNo)
    {
        this.certNo = certNo;
    }

    public String getEpCertType()
    {
        return epCertType;
    }

    public void setEpCertType(String epCertType)
    {
        this.epCertType = epCertType;
    }

    public String getEpCertName()
    {
        return epCertName;
    }

    public void setEpCertName(String epCertName)
    {
        this.epCertName = epCertName;
    }

    public String getEpCertNo()
    {
        return epCertNo;
    }

    public void setEpCertNo(String epCertNo)
    {
        this.epCertNo = epCertNo;
    }

}
